Platform Explorer / Nuxeo Platform 2021.7

Component org.nuxeo.ecm.platform.rendition.contrib

Requirements

Resolution Order

454
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.rendition.contrib">

  <require>org.nuxeo.ecm.platform.rendition.operations</require>

  <extension target="org.nuxeo.ecm.platform.rendition.service.RenditionService"
    point="renditionDefinitions">
    <renditionDefinition name="pdf">
      <label>label.rendition.pdf</label>
      <icon>/icons/pdf.png</icon>
      <contentType>application/pdf</contentType>
      <operationChain>blobToPDF</operationChain>
      <filters>
        <filter-id>allowPDFRendition</filter-id>
      </filters>
    </renditionDefinition>

    <renditionDefinition name="xmlExport">
      <label>label.exportview.xmlExport</label>
      <icon>/icons/xml.png</icon>
      <contentType>text/xml</contentType>
      <allowEmptyBlob>true</allowEmptyBlob>
      <operationChain>xmlExportRendition</operationChain>
    </renditionDefinition>

    <renditionDefinition name="zipExport">
      <label>label.exportview.zipExport</label>
      <icon>/icons/zip_export.png</icon>
      <contentType>application/zip</contentType>
      <allowEmptyBlob>true</allowEmptyBlob>
      <operationChain>zipTreeExportRendition</operationChain>
      <filters>
        <filter-id>not_folder</filter-id>
      </filters>
    </renditionDefinition>

    <renditionDefinition name="zipTreeExport">
      <label>label.exportview.zipTreeExport</label>
      <icon>/icons/zip_tree_export.png</icon>
      <contentType>application/zip</contentType>
      <allowEmptyBlob>true</allowEmptyBlob>
      <operationChain>zipTreeExportRendition</operationChain>
      <variantPolicy>user</variantPolicy>
      <filters>
        <filter-id>folder</filter-id>
      </filters>
    </renditionDefinition>

    <renditionDefinition name="mainBlob" visible="false">
      <operationChain>mainBlob</operationChain>
      <allowEmptyBlob>true</allowEmptyBlob>
      <contentType></contentType>
    </renditionDefinition>

    <renditionDefinition name="containerDefaultRendition" visible="false">
      <contentType>application/zip</contentType>
      <operationChain>containerContentBlob</operationChain>
      <allowEmptyBlob>true</allowEmptyBlob>
      <filters>
        <filter-id>container</filter-id>
      </filters>
    </renditionDefinition>

  </extension>

  <extension target="org.nuxeo.ecm.core.operation.OperationServiceComponent"
    point="chains">
    <chain id="blobToPDF">
      <operation id="Context.PopBlob" />
      <operation id="Blob.ToPDF" />
    </chain>

    <chain id="xmlExportRendition">
      <operation id="Context.PopDocument" />
      <operation id="Document.Export" />
    </chain>

    <chain id="zipTreeExportRendition">
      <operation id="Context.PopDocument" />
      <operation id="Document.Export">
        <param name="exportAsTree" type="boolean">true</param>
      </operation>
    </chain>

    <chain id="mainBlob">
      <operation id="Context.PopDocument" />
      <operation id="Document.GetBlob" />
    </chain>

    <chain id="containerContentBlob">
      <operation id="Context.PopDocument" />
      <operation id="Document.GetContainerRendition">
        <param type="string" name="reason">download</param>
        <param type="int" name="limit">200</param>
        <param type="int" name="maxDepth">2</param>
      </operation>
    </chain>

  </extension>

  <extension target="org.nuxeo.ecm.platform.actions.ActionService"
    point="filters">

    <filter id="allowPDFRendition" />

  </extension>

  <extension target="org.nuxeo.ecm.platform.rendition.service.RenditionService"
    point="defaultRendition">
    <defaultRendition>
      <script language="JavaScript">
        function run() {
          return 'xmlExport';
        }
      </script>
    </defaultRendition>
  </extension>

</component>